package org.liang.code.jms.queue.more;

import jakarta.jms.*;
import org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory;
import org.liang.code.utils.jms.JMSCommons;

/**
 * 环形队列  创建一个固定大小的队列,当队列满时,后进来的会把最先进来的替换掉
 */
public class RINGQMain {

    public static void main(String[] args) {

        // 创建工厂
        ActiveMQJMSConnectionFactory factory = new ActiveMQJMSConnectionFactory(JMSCommons.CORE_URL, JMSCommons.USERNAME, JMSCommons.PASSWORD);
        // 创建JMSContext
        JMSContext context = factory.createContext(Session.AUTO_ACKNOWLEDGE);
        // 生产者
        JMSProducer producer = context.createProducer();

        Queue queue = context.createQueue(JMSCommons.CORE_RINGQ);

        // 创建消息
        TextMessage message1 = context.createTextMessage("我不会消失A!我没了");
        TextMessage message2 = context.createTextMessage("我不会消失B!");
        TextMessage message3 = context.createTextMessage("我不会消失C!");
        TextMessage message4 = context.createTextMessage("我不会消失D!");
        // 发送消息
        producer.send(queue, message1);
        producer.send(queue, message2);
        producer.send(queue, message3);
        producer.send(queue, message4);

        context.close();
        factory.close();
    }
}
